tests: Add test for non-nullterminated gtk_css_provider_load_data()
authorMichael Terry <michael.terry@canonical.com>
Fri, 26 Aug 2011 14:15:36 +0000 (16:15 +0200)
committerBenjamin Otte <otte@redhat.com>
Fri, 26 Aug 2011 14:26:28 +0000 (16:26 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=657359

tests/css/Makefile.am
tests/css/api.c [new file with mode: 0644]

index aeada80b30c3eee5a15bf4c70b1ab1e063950ed9..f14e7b59b28b330d8b725410a1c938cb101c3daa 100644 (file)
@@ -1 +1,22 @@
+include $(top_srcdir)/Makefile.decl
+
 SUBDIRS = parser
+
+check_PROGRAMS = $(TEST_PROGS)
+
+AM_CPPFLAGS =                          \
+       -I$(top_srcdir)                 \
+       -I$(top_builddir)/gdk           \
+       -I$(top_srcdir)/gdk             \
+       -DGDK_DISABLE_DEPRECATED        \
+       -DGTK_DISABLE_DEPRECATED        \
+       -DGTK_VERSION=\"$(GTK_VERSION)\"\
+       $(GTK_DEBUG_FLAGS)              \
+       $(GTK_DEP_CFLAGS)
+
+LDADD = \
+       $(top_builddir)/gdk/libgdk-3.la \
+       $(top_builddir)/gtk/libgtk-3.la \
+       $(GTK_DEP_LIBS)
+
+TEST_PROGS += api 
diff --git a/tests/css/api.c b/tests/css/api.c
new file mode 100644 (file)
index 0000000..a7c93dc
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2011 Canonical Inc.
+ *
+ * Author:
+ *      Michael Terry <michael.terry@canonical.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+
+static void
+gtk_css_provider_load_data_not_null_terminated (void)
+{
+  GtkCssProvider *p;
+  const gchar data[3] = {'*', '{', '}'};
+
+  p = gtk_css_provider_new();
+
+  gtk_css_provider_load_from_data(p, data, sizeof (data), NULL);
+
+  g_object_unref (p);
+}
+
+
+int
+main (int argc, char *argv[])
+{
+  gtk_test_init (&argc, &argv, NULL);
+
+  g_test_add_func ("/gtk_css_provider_load_data/not_null_terminated",
+      gtk_css_provider_load_data_not_null_terminated);
+
+  return g_test_run ();
+}
+